package net.dfx.iot_download_tool.vo;

import java.util.List;

public class UserEnterVO {
	/** 导出文件的目录路径，和其他参数一样，需要存入数据库 */
	private String excelPathPre;
	/** 设备名称，支持输入多个，需要存入数据库 */
	private List<String> equipName;
	/** 参数名称，支持输入多个，需要存入数据库 */
	private List<String> paramName;
	/** 日期时间名称，支持输入多个，需要存入数据库 */
	private List<LocalSETimeVO> datetimeRang;
	/**
	 * 获取导出文件的目录路径，和其他参数一样，需要存入数据库
	 * @return {@link String} 文件的目录路径
	 */
	public String getExcelPathPre() {
		return excelPathPre;
	}
	/**
	 * 设置导出文件的目录路径，和其他参数一样，需要存入数据库
	 * @param excelPathPre {@link String} 文件的目录路径
	 */
	public void setExcelPathPre(String excelPathPre) {
		this.excelPathPre = excelPathPre;
	}
	/**
	 * 获取设备名称，支持输入多个
	 * @return {@link List}{@code <}{@link String}{@code >} 设备名称字符串集合
	 */
	public List<String> getEquipName() {
		return equipName;
	}
	/**
	 * 设置设备名称，支持输入多个
	 * @param equipName {@link List}{@code <}{@link String}{@code >} 设备名称字符串集合
	 */
	public void setEquipName(List<String> equipName) {
		this.equipName = equipName;
	}
	/**
	 * 获取参数名称，支持输入多个
	 * @return {@link List}{@code <}{@link String}{@code >} 参数名称字符串集合
	 */
	public List<String> getParamName() {
		return paramName;
	}
	/**
	 * 设置参数名称，支持输入多个
	 * @param paramName {@link List}{@code <}{@link String}{@code >} 参数名称字符串集合
	 */
	public void setParamName(List<String> paramName) {
		this.paramName = paramName;
	}
	/**
	 * 获取日期时间名称，支持输入多个
	 * @return {@link List}{@code <}{@link LocalSETimeVO}{@code >} 开始日期终止日期对象集合
	 */
	public List<LocalSETimeVO> getDatetimeRang() {
		return datetimeRang;
	}
	/**
	 * 设置日期时间名称，支持输入多个
	 * @param datetimeRang {@link List}{@code <}{@link LocalSETimeVO}{@code >} 开始日期终止日期对象集合
	 */
	public void setDatetimeRang(List<LocalSETimeVO> datetimeRang) {
		this.datetimeRang = datetimeRang;
	}
	/**
	 * 获取用户输入的设备名称的个数
	 * @return int型，设备名称个数
	 */
	public int getEquipNNum() {
		if (equipName!=null && !equipName.isEmpty()) {
			return equipName.size();
		} else {
			return 0;
		}
	}
	/**
	 * 获取用户输入的参数名称个数
	 * @return int型，参数名个数
	 */
	public int getParamNNum() {
		if (paramName!=null && !paramName.isEmpty()) {
			return paramName.size();
		} else {
			return 0;
		}
	}
	/**
	 * 获取用户输入的时间范围个数
	 * @return int类型时间范围个数
	 */
	public int getDTRangNum() {
		if (datetimeRang!=null && !datetimeRang.isEmpty()) {
			return datetimeRang.size();
		} else {
			return 0;
		}
	}
	/**
	 * 获取用户输入的所有时间范围的总计天数
	 * @return long型，天数
	 */
	public long getAllDayNum() {
		long resultNum = 0L;
		if (datetimeRang!=null && !datetimeRang.isEmpty()) {
			for (LocalSETimeVO lsetVO : datetimeRang) {
				resultNum += lsetVO.getDateNum();
			}
		}
		return resultNum;
	}
}
